11. objekt orientierte programmierung
11.3 spezielle elemente
11.3.1 klassen-konstante
Für eine klasse können konstanten (klassen-konstanten) vereinbart werden,
die immer den typ public haben. Eine klassen-konstante kann überall
verwendet werden, sie ist nicht an ein bestimmtes objekt gebunden, d.h.
sie ist auch verfügbar, wenn für eine klasse keine objekte erzeugt sind.
const name = wert;
const | schlüsselwort für die definition einer konstanten |
name | name der konstanten; der name darf nicht mit dem $-zeichen beginnen. |
wert | zugewiesener wert |
self::name | so wird eine klassen-konstante innerhalb der klassendefinition angesprochen. Man beachte den doppelten doppelpunkt. |
klasse::name | so wird eine klassen-konstante außerhalb der klassendefinition angesprochen. Man beachte den doppelten doppelpunkt. |
11.3.2 statische eigenschaften
Eine eigenschaften kann als statisch deklariert werden; sie erhält meist
bei der definition einen wert, der dann mit methoden der klasse oder, wenn
sie den typ public oder protected hat, auch außerhalb einer
methode verändert werden kann. Eine statische eigenschaft steht
mit ihrem aktuellen wert immer zur verfügung. Die eigenschaft ist nicht an
ein bestimmtes objekt gebunden, d.h. sie ist auch verfügbar, wenn für eine
klasse keine objekte erzeugt sind.
[ typ ] static eigenschaft [ = wert ];
static | schlüsselwort zur definition eines statischen elements |
eigenschaft | name der eigenschaft, beginnt mit dem $-zeichen |
wert | anfangswert der eigenschaft |
typ | typ der eigenschaft, möglich ist private, protected, public (vgl. 11.1.1) |
self::eigenschaft | so wird eine statische eigenschaft innerhalb der klassendefinition angesprochen |
klasse::name | so wird eine statische eigenschaft außerhalb der klassendefinition angesprochen (nur wenn sie den typ public oder protected hat) |
11.3.3 statische methode
Auch eine methode kann als statisch deklariert werden, dazu wird dem namen
der methode das schlüsselwort static vorangestellt, im übrigen
vgl. 11.1.2. Eine statische methode ist einer klasse zugeordnet, wird aber
nicht für objekte ausgeführt. Sie wird verwendet, um operationen
auszuführen, die nicht einem bestimmten objekt gelten, allerdings kann als
parameter eine referenz auf ein objekt übergeben werden.
self::methode
aufruf der methode innerhalb der klassen-definition
klasse::methode
aufruf der methode innerhalb und außerhalb der klassen-defintion
11.3.4 beispiel
Die definition der klasse Person enthält u.a. die klassen-konstante
verein und die statische eigenschaft $nr. Beide werden im
konstruktor und außerhalb der klassen-definition verwendet ($nr ist public).
Die eigenschaft $nr erhält den anfangswert 0 und wird im konstruktor beim
erzeugen eines objekts um 1 erhöht, d.h. die eigenschaft dient als zähler
für die vorhandenen objekte. Außerdem wird $nr verwendet, um jedem objekt
eine eindeutige identifikation zu geben.
In der PHP-routine werden drei objekte erzeugt und angezeigt; dazu wird die methode anzeige verwendet, mit der die anzeige etwas aufwendiger gestaltet wird. Die klassenkonstante und die statische eigenschaft werden auch außerhalb der klassenmethoden verwendet.
im FC Mau gibt es 3 mitglieder
nr | name | vorname | abteilung | beitrag |
---|---|---|---|---|
1001 | Valentin | Karl | FC Mau - 1 | 10.00 |
1002 | Karlstadt | Liesel | FC Mau - 1 | 10.00 |
1003 | Rembremerdeng | Wrdlbrmft | FC Mau - 1 | 10.00 |
H T M L |
C S S |
p h p |
My S Q L |
JAVASCRIPT |
impressum
Für den inhalt der homepage hartard-bernhard.de
ist im sinne des pressegesetzes verantwortlich:
Bernhard Hartard
Gerhart-Hauptmann-Ring 18
81737 München
089 / 670 39 90
familie.hartard@t-online.de
salvatorische erklärung
Die seiten meiner homepage enthalten links
zu anderen seiten im Internet, auf deren gestaltung und inhalt ich
keinen einfluss habe. Ich übernehme keine gewähr für den inhalt der
verlinkten seiten, rechtsverstöße waren für mich zum zeitpunkt der
verlinkung auf diesen seiten nicht erkennbar, eine ständige inhaltliche
kontrolle der verlinkten seiten ist mir weder möglich noch zumutbar.
Aus rechtlichen gründen distanziere ich mich ausdrücklich vom inhalt
der verlinkten seiten und mache mir deren inhalt nicht zu eigen.
Diese erklärung gilt für alle auf meinen seiten angezeigten links.
CLOSE anzeige schließen
start
Damit startet die homepage neu, d.h. der Steinbeisser treibt wieder sein unwesen.
anfang
Hier beginnen die informationen dieser homepage
zur person
Hier findet man informationen zur person des verfassers dieser homepage, wer er ist, woher er kommt, was er gelernt hat und was er im verlauf seines lebens so getrieben hat.
spiele
Hier finden man einige spiele, aber keine wüsten ballerspiele, sondern einige echte knobeleien (hirn-jogging), zwei gesellschaftsspiele (Mensch ärgere Dich nicht, Kniffel) und das spiel aller frechen schüler: schiffe versenken.
galerien
Ein wenig heimatliebe muss erlaubt sein und deshalb findet man hier einige bildergalerien von Speyer und von seinem Dom.
backbuch
Das ist eine sammlung von backrezepten, aus verschiedenen quellen zusammengetragen und fast alle mit mehr oder weniger erfolg ausprobiert. Da findet man in den endlosen weiten des Internet natürlich mehr und besseres.
stammbaum
Das gehört eigentlich in den privaten bereich dieser homepage, denn hier wird der stammbaum des verfassers der homepage gezeigt. Weil aber beim testen der anwendung auch der stammbaum der Wittelsbacher entstanden ist, wurde beides hier veröffentlicht. Vielleicht interessiert es jemand.
exit
Hier kann man Google oder eine beliebige seite im Internet aufrufen oder diese homepage verlassen.
kontakt
Hier kann man dem verfasser und eigentümer der homepage eine email schreiben.
privat
Hier kommt man in den privaten bereich der homepage, besser gesagt, man kommt da nicht hinein, denn dieser bereich ist geschützt und nur dem eigentümer der homepage zugänglich.
doku
Hier sind die programmiertechniken dokumentiert, mit deren hilfe die homepage gebastelt wurde. Genauer gesagt man findet hier kurz gefasste bechreibungen von HTML, CSS, MySQL und Javascript. Das findet man im Internet natürlich viel ausführlicher aber für einen ersten einstieg in die seltsame welt der programmierung sind diese beschreibungen durchaus brauchbar.